package interfaz;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.List;

import beans.*;



public interface TDACasaCentral extends Remote
{	
	public abstract void modificarGanancia( int g) throws RemoteException;
	
	/*public abstract void altaRodamiento( String codSKF,
								ProveedorBean proveedor,
								String caracteristica,
								int medida,
								String tipo,
								String marca,
								String origen,
								int cantStock,
								double precioStock ) throws RemoteException;*/
	public abstract boolean altaRodamiento( RodamientoBean rodamiento ) throws RemoteException;
	
	public abstract boolean bajaRodamiento( RodamientoBean rodamiento ) throws RemoteException;
	
	public abstract boolean modificarRodamiento( RodamientoBean rodamiento ) throws RemoteException;
	
	public abstract int consultarStockRodamiento( String codSKF ) throws RemoteException;
	
	public abstract boolean altaProveedor( ProveedorBean proveedor ) throws RemoteException;

	public abstract boolean bajaProveedor( ProveedorBean proveedor ) throws RemoteException;

	public abstract boolean modificarProveedor( ProveedorBean proveedor ) throws RemoteException;

	public abstract OrdenCompraBean emitirOrdenDeCompra( SolicitudCompraBean o ) throws RemoteException; 
	
	public abstract List<SolicitudCompraBean> emitirSolicitudesDeCompra( List<ItemSolicitudCompraBean> items, ProveedorBean proveedor ) throws RemoteException;
	
	public abstract List<RodamientoBean> buscarEquivalentes( RodamientoBean r ) throws RemoteException;;
	
	public abstract List<ItemCotizacionBean> obtenerItemsPorMarcaYOrigen( ItemCotizacionBean it, String marca, String origen ) throws RemoteException;
	
	public abstract void modificarPrecio( ItemCotizacionBean i, float nuevoPrecio ) throws RemoteException;
	
	public abstract boolean haySuficienteStock( ItemCotizacionBean i ) throws RemoteException;
	
	public abstract CotizacionBean servicioComparativaDePrecios (int idPedidoVenta) throws RemoteException;
	
	public abstract RemitoBean generarRemito( PedidoVentaBean pv ) throws RemoteException;
	
	public abstract double getGanancia() throws RemoteException;
	
	public abstract void setGanancia(double ganancia) throws RemoteException;
	
	public abstract int getIdCasaCentral() throws RemoteException;

	public abstract void setIdCasaCentral(int idCasaCentral) throws RemoteException;
	
	public abstract Date getFechaInicioActividades() throws RemoteException;
	
	public abstract void setFechaInicioActividades(Date fechaInicioActividades) throws RemoteException;

//	public abstract UsuarioBean loginUsuario(UsuarioBean usuarioBean) throws RemoteException;
	
	public abstract RodamientoBean buscarRodamiento (String codigoSKF) throws RemoteException;

	public abstract List<PedidoVentaBean> obtenerPedidosVentaPorCliente(String cuit) throws RemoteException;
	
	public abstract boolean modificarODV( OficinaVentaBean odv ) throws RemoteException;
	
	public abstract List<ClienteBean> obtenerClientesPorCriterio( String razonSocial, String cuit ) throws RemoteException;
	
	public abstract ClienteBean obtenerClientePorCuit( String cuit ) throws RemoteException;
	
	public abstract ProveedorBean obtenerProveedorPorCuit( String cuit ) throws RemoteException;
	
	public abstract RodamientoBean obtenerRodamientoPorCodigo( String codigo) throws RemoteException;
	
	public abstract boolean cargarListaPrecios( ListaPreciosBean lista ) throws RemoteException;
	
	public abstract boolean generarCotizacion( CotizacionBean cot) throws RemoteException;
	
	public abstract List<CotizacionBean> obtenerCotizacionesPorCliente( String cuit) throws RemoteException;
	
	public abstract SolicitudCompraBean generarSolicitudCompra( CotizacionBean cot ) throws RemoteException;
	
	public abstract FacturaBean generarFactura( CotizacionBean cot) throws RemoteException;
	
	public abstract List<OrdenCompraBean> generarOrdenesCompra( SolicitudCompraBean solComp ) throws RemoteException;
}
